ساختن مترجم از ابتدا [ویدئو]

Building an Interpreter from Scratch [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: چگونه زبان های برنامه نویسی زیر هود کار می کنند؟ تفاوت بین کامپایلر و مفسر چیست؟ ماشین مجازی و کامپایلر JIT چیست؟ و تفاوت بین برنامه نویسی تابعی و امری چیست؟ در مورد پیاده سازی یک زبان برنامه نویسی سوالات بسیار زیادی وجود دارد! در این دوره آموزشی با کامپایلرها و مفسرهای AST و ماشین های مجازی آشنا می شویم. ما بیشتر عبارات و متغیرهای اساسی را در مفسرها بررسی خواهیم کرد و در مورد متغیرها و محیط ها خواهیم آموخت. ما همچنین توابع داخلی و بومی، توابع تعریف شده توسط کاربر، پشته تماس و تماس های بازگشتی را بررسی خواهیم کرد. در نهایت، ما در مورد OOP، وراثت کلاس و جداسازی کد یاد خواهیم گرفت. تا پایان دوره، ما یک مترجم کامل AST را برای زبان برنامه نویسی خود پیاده سازی خواهیم کرد. همه فایل‌های منبع به مخزن GitHub در آدرس زیر اضافه می‌شوند: https://github.com/PacktPublishing/Building-an-Interpreter-from-Scratch ساخت یک زبان برنامه‌نویسی از ابتدا درباره AOT و JIT-compilers و Transpilers بیاموزید درباره Bytecode، LLVM، stack-machines بیاموزید درباره پشته تماس و سوابق فعال سازی بیاموزید درباره مفسرها و کامپایلرها بیاموزید درباره مترجمان AST و ماشین های مجازی بیاموزید این کلاس برای هر مهندس کنجکاویی است که می خواهد در ساختن سیستم های پیچیده مهارت کسب کند (و ساخت یک زبان برنامه نویسی واقعاً یک کار مهندسی بسیار پیشرفته است!) و دانش قابل انتقال برای ساخت چنین سیستم هایی را به دست آورد. اگر به طور خاص به کامپایلرها، مفسرها و ابزارهای تبدیل کد منبع علاقه دارید، این کلاس نیز برای شما مناسب است. تنها پیش نیاز این کلاس ساختارهای داده و الگوریتم های پایه است: درختان، لیست ها، پیمایش. با عبارات و متغیرهای پایه در مفسر آشنا شوید * با توابع و برنامه نویسی تابعی آشنا شوید * در مورد برنامه نویسی شی گرا بیاموزید

سرفصل ها و درس ها

دوره خرابی کامپایلرها Compilers Crash Course

  • تجزیه کننده ها، AST ها، مترجمان و کامپایلرها Parsers, ASTs, Interpreters, and Compilers

  • مترجمان AST و ماشین های مجازی AST Interpreters and Virtual Machines

  • کامپایلرها: AOT، JIT، Transpiler Compilers: AOT, JIT, Transpiler

مترجمان: عبارات اساسی و متغیرها Interpreters: Basic Expressions and Variables

  • زبان برنامه نویسی EVA EVA Programming Language

  • عبارات خود ارزیابی Self-Evaluating Expressions

  • متغیرها و محیط ها Variables and Environments

  • بلوک ها: گروه های بیان و حوزه های تودرتو Blocks: Expression Groups and Nested Scopes

  • جریان کنترل: عبارات If و while Control Flow: If and While Expressions

  • بازگشت به تجزیه کننده ها: S-Expression به AST Back to Parsers: S-Expression to AST

توابع و برنامه نویسی تابعی Functions and Functional Programming

  • توابع داخلی و داخلی Built-In and Native Functions

  • توابع تعریف شده توسط کاربر، سوابق فعال سازی و بسته شدن User-Defined Functions, Activation Records, and Closures

  • توابع لامبدا و برنامه نویسی تابعی Lambda Functions and Functional Programming

  • Call-Stack و تماس های بازگشتی Call-Stack and Recursive Calls

  • Syntactic Sugar: Switch, For, Inc, Dec Operators Syntactic Sugar: Switch, For, Inc, Dec Operators

برنامه نویسی شی گرا Object-Oriented Programming

  • اوا شی گرا: کلاس ها Object-Oriented Eva: Classes

  • ارث بری کلاس و فراخوانی Class Inheritance and Super Calls

  • جداسازی کد: ماژول ها و واردات Code Isolation: Modules and Imports

  • اجرایی نهایی و مشخصات Final Executable and Specification

نمایش نظرات

ساختن مترجم از ابتدا [ویدئو]
جزییات دوره
3 h 0 m
18
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dmitry Soshnikov Dmitry Soshnikov

دیمیتری سوشنیکوف یک مهندس نرم افزار و مدرس در موضوعات مختلف علوم کامپیوتر است. او علاقه زیادی به آموزش دارد و بر محتوای آموزشی با کیفیت بالا تمرکز می کند: سخنرانی های متحرک مختصر و مستقیم با یادداشت های ویرایش زنده.

Dmitry Soshnikov Dmitry Soshnikov

دیمیتری سوشنیکوف یک مهندس نرم افزار و مدرس در موضوعات مختلف علوم کامپیوتر است. او علاقه زیادی به آموزش دارد و بر محتوای آموزشی با کیفیت بالا تمرکز می کند: سخنرانی های متحرک مختصر و مستقیم با یادداشت های ویرایش زنده.